<?php

namespace app\admin\controller;

use think\Controller;
use think\Db;

class User extends Controller
{
    public function index()
    {
        // 原生
        $sql = 'SELECT * FROM user';
        $list = Db::query($sql);

        $sql = 'SELECT * FROM user WHERE id=?';
        $list = Db::query($sql, [3]);

        // DB类
        $list = Db::table('user')->order(['id' => 'desc'])->select();

        // 助手函数
        $list = db('lover')->field(['id', 'name'])->select();

        dump($list);
    }

    public function insert()
    {
        // 原生
//        $sql = 'INSERT INTO user (id,name,age) VALUES (null, "k1", 18)';
//        $result = Db::execute($sql);

//        $sql = 'INSERT INTO user (id,name,age) VALUES (:i,:n,:a)';
//        $result = Db::execute($sql, ['i'=>null,'n'=>'k2','a'=>28]);

        // DB类
        $data = ['name' => 'k7', 'age' => 38];
//        $result = Db::table('user')->insert($data);
//        $result = Db::table('user')->insertGetId($data);

        // 助手函数
        $result = db('user')->insertGetId($data);

        dump($result);
    }


    public function delete()
    {
        // 原生
//        $sql = 'DELETE FROM user WHERE name = "k4"';
//        $result = Db::execute($sql);
        // DB类
//        $result = Db::table('user')->delete(77);
//        $result = Db::table('user')->where('name','k1')->delete();
        // 助手函数
        $result = db('user')->delete(79);
        dump($result);
    }

    public function update()
    {
        // 原生
//        $sql = 'UPDATE user SET age = 18 WHERE id=1';
//        $result = Db::execute($sql);
        // DB类
//        $result = Db::table('user')->where('id',1)->update(['age'=>99]);

        // 助手函数
        $result = db('user')->where('id',1)->update(['age'=>18]);

        dump($result);
    }

    public function sw()
    {
//        // 自动事务
//        Db::transaction(function(){
//            $userdata = ['name'=>'天天','age'=>38,'sex'=>2];
//            $id = Db::table('user')->insertGetId($userdata);
//            var_dump('用户ID: ' . $id);
//
//            $loverdata = ['name'=>'师太','sex'=>'1','user_id'=>$id];
//
//            Db::table('lover')->insert($loverdata);
//
//            echo '关系安排好了!';
//        });

        // 手动事务
        // 启动事务
        Db::startTrans();
        try{
            $userdata = ['name'=>'双双','age'=>88,'sex'=>0];
            $id = Db::table('user')->insertGetId($userdata);
            var_dump('用户ID: ' . $id);
            $loverdata = ['name'=>'师姨','sex'=>'1','user_id'=>$id];
            Db::table('lover')->insert($loverdata);
            echo '关系安排好了';
            // 提交事务
            Db::commit();
        } catch (\Exception $e) {
            echo '关系没lishun...';
            // 回滚事务
            Db::rollback();
        }
    }


}
